package gdr.action.initializer;

import gdr.battle.core.BattleContainer;
import gdr.battle.data.map.BattleMapUnit;
import gdr.action.target.*;

/**
 * Evidenzia tutte le caselle distanti tra raggioEsterno e raggioInterno dalla posizione indicata che verificano il metodo
 * casellaDeveEssereEvidenziata(ExtendedPosition actual)
 */
public class EvidenziaCaselle{
	protected BattleContainer container;
	protected Ricerca targets;

	public EvidenziaCaselle(BattleContainer container, Ricerca targets){
		this.container = container;
		this.targets = targets;
	}

	public void evidenzia(){
		BattleMapUnit[][] m = container.getData().getMap().getMap();
		for (int i=0; i<m.length; i++)
			for (int j=0; j<m[i].length; j++)
				m[i][j].setEvidenziato(targets.getTargetMap()[i][j]);
	}
	/**
	 * Nasconde tutte le caselle evidenziate
	 */
	public void nascondi(){
		BattleMapUnit[][] m = container.getData().getMap().getMap();
		for (int i=0; i<m.length; i++)
			for (int j=0; j<m[i].length; j++)
				m[i][j].setEvidenziato(false);
	}
}
